﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AssetManagementSystem.Model.IDao {
    public interface ISysPropertyDAO {
        /// <summary>
        /// Create a new system property in the database
        /// </summary>
        /// <param name="property">The property to be stored in the database</param>
        /// <param name="value">The value of the property to be stored</param>
        void CreateProperty(string property, string value);
        /// <summary>
        /// Retrieve a single property from the database
        /// </summary>
        /// <param name="property">The name of the property to be retrieved</param>
        /// <returns>The property's value</returns>
        string GetProperty(string property);
        /// <summary>
        /// Returns a dictionary of all system properties
        /// </summary>
        /// <returns>A dictionary of all system properties</returns>
        Dictionary<string, string> GetAllProperties();
        /// <summary>
        /// Update the details of a system property
        /// </summary>
        /// <param name="property">The property to be stored in the database</param>
        /// <param name="value">The value of the property to be stored</param>
        void UpdateProperty(string property, string value);
        /// <summary>
        /// Delete data for a single property from the database.
        /// </summary>
        /// <param name="property">The property to be deleted from the database</param>
        void DeleteProperty(string property);
    }
}
